1. Field of the Invention
The present invention relates to database relationships between records and more particularly to record relationship management in a database driven application.
2. Description of the Related Art
Databases are designed to offer an organized mechanism for storing, managing and retrieving information. Databases exist in the most rudimentary form of a flat file in which each line of the file is a record and each number or string separated by a pre-determined delimiter is a field of the record. More advanced databases organize data through the use of structured tables able to be managed by way of a database management system (“DBMS”). Modern databases are organized through a number of different technological paradigms, including relational models (relational database), object models (object database), document models (document database), and the like. In most cases, the structure and organization of data in the database (namely the different tables, and records and fields defined therein) conform to a pre-defined schema intended to model a problem and/or solution evidenced by the database.
With a database schema, relationships between records in a database are stored minimally by way of common keys and in more complex scenarios through linking records. The use of linking records simplifies the task of aggregating related data into a single view as is often the requirement in data driven applications. In the absence of linking records, complicated programmatic logic is required to conduct a number of database queries using various common keys in order to retrieve related data stored in the database. In the former circumstance, a priori knowledge of the relationship must exist so as to permit the proper initial specification of the database schema, and in the latter circumstance, a priori knowledge of the relationship must exist so as to permit the proper coding of the programmatic logic.
As it is well known, oftentimes, a priori knowledge of a data relationship is not known. Yet, where a priori knowledge of a data relationship is unknown at the time of database schema design or program coding, no automated mechanism exists to aggregated related data for access within a supported application. Consequently, one cannot a priori define and usage arbitrary relationships between data in a database.